The present invention relates to a technique effective in an application to establish a connection in SVC services for an ATM switching system.
In SVC (Switched Virtual Channel services for an ATM system, a connection establishing protocol in SAAL (Signalling ATM Adaptation Layer) is prescribed (ITU-T Recommendation Q.2110, TTC Standard JT-Q2110, ATM Forum Q.SAAL).
According to this protocol, in case a fault happens in one of two face-to-face apparatuses, e.g., one of nodes on a layer 2, more specifically, one of a workstation and an ATM switching equipment, the fault apparatus is restarted after being completely repaired and comes to an initial status, at which time the following data link establishment and restoring process are implemented.
FIG. 1 shows a sequence for establishing a data link according to a prior art. In this SAAL, to start with, a beginning-of-connection protocol data unit (BGN-PDU: Begin-Protocol Data Unit: Request for Initialization) is transmitted to the other apparatus (from the A-apparatus to the B-apparatus in FIG. 1). FIG. 2 illustrates a format of this BGN-PDU.
In a sequence 1 shown in FIG. 1, when both of the A- and B-apparatuses are initialized, "0" is substituted into a variable VT (Transmitter State Variable) (SQ) and VR (Receiver State Variable) (SQ) for detecting retransmissions from respective variable memory units 1a, 1b. Further, VR(R) for storing a sequence number of SD-PDU to be received next, is also initialized (VR(R)=0).
Next, "1" is added to VT(SQ) in the A-apparatus (VT(SQ)=1), and VT(SQ) is mapped into N(SQ) in BGN-PDU. BGN-PDU is then transmitted to the B-apparatus.
In the B-apparatus receiving BGN-PDU, N(SQ) in BGN-PDU is compared with a value of VR(SQ) of the variable memory unit 1b. Herein, N(SQ)=1, and VR(SQ)=0. Because of the two values being different (N(SQ).noteq.VR(SQ)), the B-apparatus judges that BGN-PDU is not data retransmitted from the A-apparatus. Then, the normal sequence is thereafter executed in the B-apparatus, thereby establishing a data link. At this time, "1" is substituted into each of the variables VT(SQ) and VR(SQ) of the variable memory unit 1b. More specifically, the A-apparatus thereafter transmits SD-PDU (Sequence Data PDU) provided with a sequence number N(S)=0, 1, 2, (n-1) . . . , 1) . . . , and also transmits data needed for setting a VRB connection. The B-apparatus increments VR(R) by "1" (+1) every time it receives SD-PDU. Referring to FIG. 1, because of being in a state of receiving SD-PDU having the sequence number N(S)=1, N of SD-PDU to be received next is expressed such as N(S)=2, and therefore VR(R)=2.
Explained next is a protocol establishing sequence in a case where the A-apparatus is restarted in the as-is state of the sequence 1 due to a fault, and reverts to the initial state.
When the A-apparatus is initialized, the variable VT(SQ) is initialized in the variable memory unit 1a such as VT(SQ)=0. Next, "1" is added to VT(SQ) (VT(SQ)=1), and this is mapped into N(SQ) in BGN-PDU and then transmitted to the B-apparatus.
On the other hand, when receiving BGN-PDU in the B-apparatus, N(SQ) is compared with VR(SQ) in the variable memory unit 1b. Herein, VR(SQ) does not change after the sequence 1 and therefore remains to be "1". Further, VR(R) is stored with N(S)=2, which is the smallest sequence number of SD-PDU to be received next.
At this moment, the variable VR(SQ) becomes such as VR(SQ)=N(SQ) in the B-apparatus, and it is to be judged that BGN-PDU concerned is retransmitted from the A-apparatus. A process based on the retransmission is thereby executed in the B-apparatus, and the variables in the variable memory unit 1b are not updated.
Incidentally, VR(R) retentive of the smallest sequence number of SD-PDU to be received in this state is also in the as-is state, and therefore, when making an attempt to perform the data communications with a transition to a subsequent sequence, there might be produced a discrepancy between VR(R) and N(S) in SD-PDU to be transmitted next (N(S)=1, and VR(R)=2). This results in an error judgement. Consequently, the data communications in SAAL suffer from a temporary service interruption.
At this moment, in a higher-order layer (ITU-T Recommendation Q.2931, TTC Standard JT-Q2931, ATM Forum Q.93B), a REST (initial setting) message for implementing a call release is transmitted from the A-apparatus to the B-apparatus. The REST message transmitted first is, however, disposed of as the data communications in SAAL are put into the service-interrupted state described above. Herein, the REST message must be retransmitted after a timer T316 has counted for just two minutes pursuant to the TTC standards. Accordingly, there might inevitably be a 2-minute delay of the call release.
Namely, in the sequence 2 shown in FIG. 2, the transmitting side (the A-apparatus) has reverted to the initial state, but nevertheless the variable is not yet initialized on the receiving side (the B-apparatus). This might conduce to a discrepancy between the variables in the respective variable memory units 1a, 1b, which represent an inbetween state.
The present invention contrived in view of the above problems aims at actualizing a prompt call release by avoiding an occurrence of timer stoppage due to an error sequence, which involves initializing two apparatuses when one apparatus is restarted.